//
/***********************************************************
             File name:      main.c
             Author:         Bitat (陆叁柒)
             Email :         Bitat@qq.com
             Gitee :         https://gitee.com/bitat
             CSDN  :         https://blog.csdn.net/bitat 
             History:        2023/2/12
************************************************************/
    
#include <stdio.h>
#include <string.h>


 void reverse_string(char* arr)//指针接收首元素地址
{
    unsigned long len = strlen(arr);//计算字符串长度
    char tmp = *arr;//把字符串首元素放到tmp字符变量里
    *arr = *(arr + len - 1);//把字符串最后一个元素放到首元素地址里
    *(arr + len - 1) = '\0';//再把\0放进字符串末尾元素地址里

    if (strlen(arr)>=2)//字符串长度如果是大于等于2才有必要交换
    {
        reverse_string(arr + 1);//首元素地址+1
    }

    *(arr + len - 1) = tmp;//把tmp里的值放到字符串末尾元素里
}

int main()
{
    char arr[] = "abcdef";
    reverse_string(arr);//创建逆序函数，arr是数组数组名是首元素地址
    printf("%s\n", arr);
    return 0;
}
